A recommendation system uses information filtering techniques to select items that are likely to be of interest to a particular user. One such technique used by recommendation systems is collaborative filtering. Collaborative filtering systems usually take two steps: (1) determine a set of users who share the same rating profile with the particular user and (2) use ratings from those like-minded users found in step 1 to calculate a prediction for the selected user. In a collaborative filtering system, the users can be represented by a vector in an n-dimensional space, where n is the number of items in the recommendation system. Likewise, the items can be represented by a vector in an m-dimensional space, where m is the number of users in the recommendation system.
To determine a set of users who are similar to a particular user, the recommendation system can compare the vector associated with the particular user to each other vector associated with another user. That is, the recommendation system can find correlations among vectors. Cosine correlation and Pearson correlation are two traditional vector correlation techniques. Vectors can be “massaged” in several different ways (e.g., vectors may be shifted or scaled) prior to using the vectors to finding similarities between vectors.
A problem with recommendation systems is that they require knowledge of a user's explicit or implicit preferences (e.g., a user's item ratings vector). Some users may be wary of providing such preference information to a third party. Accordingly, what is desired is a system and method for protecting the privacy of user information in a recommendation system.